iT邦幫忙

2025 iThome 鐵人賽

DAY 22
0
Software Development

30天收斂後端開發心法系列 第 22

30天收斂後端開發心法 - (22) OAuth 2.0

  • 分享至 

  • xImage
  •  

為什麼需要 OAuth 2.0?

在現代網站中,如果每個網站都要你自己創帳號,使用者會:

  • 不想記一堆帳密
  • 容易用一樣的密碼(降低安全性)
  • 不知道該網站能否妥善保存個資
    所以就有了 OAuth 2.0:用「我已登入的帳號(Google/Facebook/Apple)」來登入其他網站,安全、省時又便利。

OAuth 2.0 第三方登入完整流程(以 Google 為例)

流程圖:

[1] 使用者點「使用 Google 登入」
   ↓
[2] 被導向到 Google 的登入頁面(帶上 client_id 等參數)
   ↓
[3] 使用者登入 Google 並同意授權
   ↓
[4] Google 將「授權碼 code」傳回到你的網站(Redirect URL)
   ↓
[5] 你後端用這個「code + client_secret」向 Google 請求 access token
   ↓
[6] 拿到 access token 後,用它向 Google API 請求用戶資訊(email, name 等)
   ↓
[7] 拿到個資後,讓使用者在你的網站登入或註冊

OAuth 2.0 中的幾個關鍵名詞解釋:

名詞說明

  • Authorization Code是一個一次性代碼,用來換取 access token(安全)
  • Access Token可以讓你代表使用者去讀他的 Google 資料的憑證(短效)
  • Refresh Token可以用來換新的 access token(長效,選用)
  • Client ID / Client Secret是你的網站在 Google 那邊的身份識別與密鑰Redirect URI使用者登入 Google 後會被導回你網站的哪個頁面(需事先註冊)

上一篇
30天收斂後端開發心法 - (21) HTTP Request
下一篇
30天收斂後端開發心法 - (23) 網路基礎架構
系列文
30天收斂後端開發心法30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言